1. Field of the Invention
This invention relates in general to database management systems performed by computers, and in particular, to row properties, a technique for introducing advanced functional behaviors in a database management system (DBMS) without introducing new data types.
2. Description of Related Art
(Note: This application references a number of publications as indicated throughout the specification by one or more reference numbers within brackets, e.g., [x]. A list of these publications ordered according to these reference numbers can be found below in the section entitled “References.” Each of these publications is incorporated by reference herein.)
As the cost of storage, processor and networking, the underpinning infrastructure elements of database management systems (DBMS) technology, decreases, the scope of problems that users expect to solve with DBMS technology continues to expand.
Many of these applications are considerably more complex than traditional business database applications, and it was the goal of object-relational technology [1], [2] to satisfy these complex applications by introducing new functionality and behaviors into relational database management systems (RDBMS) technology.
However, the success of object-relational database technology has been less than originally anticipated for several reasons:
(1) It has been a challenging programming task to build a scalable object-relational database system from scratch and make it commercially viable.
(2) The engineering cost to add object-relational features, such as new user-defined data types, in existing commercially successful RDBMS technology has proved to be more than expected.
(3) Most applications are developed in programming languages that have only basic alphanumeric data types and introducing object-relational features, such as user-defined data types into the database, requires a layer of mapping from the basic data types in the application programming language to the user-defined data types in the database. This is typically solved by a two-way conversion function, from user-defined data type to basic data type, between the application and the database layer. However, this requirement slows the adoption rate of any new user-defined data type introduced into the database, since programming languages and productivity tools generally do not provide native support for the new user-defined data type.
Consequently, introducing new functional behaviors through the introduction of new data types has been a challenge. There is a need for an alternate mechanism to introduce new behaviors in database management systems without introducing new data types.